Ускорение и оптимизация
систем на 1С:Предприятие 8.3

Подготовка на 1С:Эксперт по технологическим вопросам


Коллеги, мы приняли решение вернуться к модели, которую использовали с 2010 года – проведение курсов в потоках.

Прием новых участников на данный курс приостановлен до открытия нового потока. Анонс будет опубликован в новостях сайта, по срокам пока ориентировать не готовы.

Рекомендуем пройти предварительную регистрацию на новый поток.

Открыть желтую книжку и написать пару кривых запросов может каждый …
Но это не делает его специалистом.
Как и трескотня на форумах и неспешное колупание базы своей компании…

Что реально круто – обеспечить работу 1C на 100-200-500 рабочих мест.

Чтобы ничего не падало
и никто не засыпал, пока проводится документ.

С прямым кодом, быстрыми запросами, распределением нагрузки, преферансом и секретаршами…

Если ты это умеешь – ты однозначно серьезный специалист.

В терминах 1С – это 1С:Экcперт по технологическим вопросам…

Самая высшая ступень в иерархии 1С для программиста / разработчика / внедренца.

Специалисты редкие – и дорогие.

Все остальные – в лучшем случае Специалисты / Специалисты-Консультанты.

В общем, оно того стоит…

И вот этому мы обучили уже около 4 200 человек…

А теперь точка выбора:

Можно остаться читать форумы и надеяться на какую-нибудь прибавку к зарплате в 2019 году…

А можно взяться – и, наконец, изучить эти вещи уже за ближайший месяц-два

В конце концов – кто, кроме нас самих, отвечает за то, что с нами будет в следующем году?

Что мы предлагаем изучить (содержание курса)

Глава 1. APDEX

В процессе оптимизации необходимо регулярно отслеживать скорость работы системы, как системы в целом, так и отдельных операций.

Оптимизация без регулярных замеров – это работа вслепую.

В данной главе:

  • рассмотрим способы автоматического замера времени различных операций
  • узнаем, как отслеживать и оценивать производительность системы
  • рассмотрим, как узнавать о проблемах со скоростью, не опрашивая пользователей

Видеоуроки:

  • Методика APDEX
  • Внедрение подсистемы в конфигурацию
  • Настройка ключевых операций
  • Замер времени на клиенте. Замер времени на сервере
  • Возможные ошибки при встраивании замера
  • Обработка «Оценка производительности»
  • Использование подсистемы в типовых конфигурациях
  • Недостатки подсистемы. Ошибки
  • Недостатки подсистемы. Исправление ошибок
  • Регистрация в сервисе. Установка. Настройка
  • Автоматический замер времени проведения документов
  • Замер произвольной операции
  • Регистрация текста запроса
  • Замер времени открытия формы
  • Просмотр данных APDEX
  • Динамика APDEX и отчеты сервиса
  • Отправка данных в сервис по почте
  • Недостатки сервиса APDEX
  • Автоматический расчет целевого времени от обратного

Глава 2. Настройка сервера СУБД

В данной главе мы рассмотрим настройку параметров сервера СУБД (на примере MS SQL Server) для повышения производительности системы.

Видеоуроки:

  • Перенос журнала транзакций на другой диск
  • Перенос базы TempDB на другой диск
  • Параметр «Max degree of parallelism»
  • Настройка авторасширения
  • Настройка Shared Memory

Глава 3. Регламентные операции

Выполнение регламентных операций является обязательным условием для быстрой работы системы.

В данной главе мы рассмотрим, какие регламентные задания необходимо выполнять на СУБД и на 1С, как и с какой периодичностью это нужно делать.

Кроме того, будет рассмотрен процесс настройки уведомлений о выполнении регламентных операций.

Видеоуроки:

  • Основные регламентные операции
  • Настройка регламентной операции обновления статистики
  • Настройка регламентной операции дефрагментации/реиндексации
  • Перенос плана обслуживания
  • Оповещения по e-mail
  • Возможные проблемы при настройке оповещений
  • Установка границы рассчитанных итогов в режиме 1С:Предприятие
  • Установка границы рассчитанных итогов с помощью встроенного языка
  • Пересчет итогов
  • Тестирование и исправление

Глава 4. Мониторинг загруженности оборудования

В процессе эксплуатации системы необходимо регулярно следить за тем, насколько сильно загружено оборудование.

В данной главе мы разберем, как можно отслеживать загруженность оборудования для ОС Windows и для Linux и как оценивать собранные данные.

Рассмотрим также, на что обращать внимание при анализе и как сделать сбор данных о загруженности оборудования автоматическим даже в случае перезагрузки сервера.

Видеоуроки:

  • Мониторинг производительности оборудования
  • Добавление счетчиков вручную
  • Добавление счетчиков шаблоном
  • Добавление счетчиков bat файлом
  • Настройка группы сборщиков данных
  • Настройка автозапуска после перезагрузки
  • Просмотр и анализ графиков загруженности оборудования
  • Пример анализа
  • Просмотр дисковой активности
  • Сравнение производительности разных дисков
  • Сравнение производительности 1С в разных условиях
  • Рекомендации по оборудованию

Глава 5. Расследование причин медленной работы

В данной главе мы узнаем, как понять, почему система работает медленно.

Разберем как платные, так и бесплатные инструменты анализа производительности.

Подробно рассмотрим настройку и использование данных инструментов и на примерах разберем, как проявляют себя различные типы проблем производительности.

После изучения данной главы Вы научитесь точно определять причины, которые приводят к замедлению.

Видеоуроки:

  • Принципы расследования проблем производительности
  • Включение отладки на сервере
  • Замер производительности
  • Подготовка к настройке ЦУП
  • Настройка прав для каталогов
  • Настройка разрешений для СУБД
  • Мастер настройки ЦУП
  • Шаги «Центральный сервер», «COM-Соединитель», «Кластер», «Информационная база»
  • Шаги «Типы показателей», «Показатели 1С:Предприятия», «Показатели ОС»
  • Шаг «Технологический журнал»
  • Шаг «Трассировки»
  • Шаг «Сервер COM-Соединитель»
  • Шаг «Сервер ЦУП (Трассировки)»
  • Сценарий «Мониторинг»
  • Сценарий «Просмотр»
  • Создание собственных сценариев
  • Сценарий «Регламентный мониторинг»
  • Оперативные показатели
  • Аналитические показатели
  • Сбор и анализ оперативных показателей
  • Проверка работоспособности ЦУП
  • Формирование логов при отключенном ЦУП
  • Сервис анализа неоптимальных запросов
  • Сбор и анализ данных с помощью сервиса
  • Сервис анализа ожиданий на блокировках
  • Сервис анализа событий технологического журнала
  • Подключение сервисов через тонкий клиент
  • Ошибка SHOWPLAN permission denied

Глава 6. Неоптимальные запросы

Неоптимальные запросы являются наиболее частой причиной медленной работы системы.

В данной главе мы узнаем основные причины медленной работы запроса, научимся читать и понимать планы запросов, будем учится определять, почему запрос работает медленно, и как это исправить.

Также мы узнаем, как с помощью различных инструментов найти медленные запросы, отранжировать их по степени влияния на производительность и узнать, из какого места в конфигурации они вызываются.

Видеоуроки:

  • Хранение объектов метаданных и временных таблиц
  • Свойство «Индексировать»
  • Индексировать с дополнительным упорядочиванием
  • Создание индекса для первого измерения
  • Свойство «Ведущее»
  • Создание индексов через Management Studio
  • Просмотр плана запроса в SQL Profiler
  • Просмотр плана запроса в консоли запросов
  • Операторы Table Scan
  • Операторы Clustered Index Scan
  • Операторы Index Scan
  • Операторы Constant Scan
  • Операторы Index Seek
  • Операторы Clustered Index Seek
  • Оператор Sort
  • Оператор Compute Scalar
  • Операторы соединения Nested Loops
  • Операторы соединения Merge Join
  • Операторы соединения Hash Join
  • Логические и физические операторы
  • Логический оператор Semi Join
  • Отображение плана запроса
  • Порядок выполнения операторов
  • Стоимость операторов и плана запроса
  • Основные свойства операторов
  • Чтение графического плана запроса и текстового плана
  • Чтение плана запроса с разыменованием полей
  • Чтение плана с соединением нескольких таблиц
  • Чтение плана с составным типом
  • Чтение плана с TOP и Nested Loops
  • Предварительная оптимизация запроса
  • Признаки неоптимального плана Nested Loops
  • Признаки неоптимального плана Scan
  • Признаки неоптимального плана Seek… Where
  • Признаки неоптимального плана Hash Aggregate
  • Признаки неоптимального плана Key Lookup
  • Признаки неоптимального плана Table Spool
  • Порядок анализа плана запроса
  • Невыполнение регламентных операций
  • Соединение с подзапросами
  • Использование временных таблиц, индексация временных таблиц
  • Соединение с виртуальными таблицами
  • Подзапрос в условии соединения
  • Подзапросы в условиях и вложенные подзапросы
  • Несоответствие индексов и условий. Регистр накопления
  • Условия, не позволяющие использовать индекс. ИЛИ
  • Условия, не позволяющие использовать индекс. Вычисление
  • Условия, не позволяющие использовать индекс. НЕ В
  • Условия, не позволяющие использовать индекс. Функции
  • Условия, не позволяющие использовать индекс. Вхождение полей в разные списки
  • Условия, не позволяющие использовать индекс. Вхождение в список с большим числом элементов
  • Непокрывающие индексы
  • Покрывающий индекс с доп. упорядочиванием
  • Селективность
  • Определение недостающих индексов
  • Сортировка по полю, которое не входит в индекс
  • Выбрать первые и сортировка
  • Когда сортировка не влияет на производительность
  • Внутреннее устройство полей составного типа
  • Неявное образование полей составного типа
  • Обращение к реквизитам поля составного типа
  • Смешивание простых и ссылочных типов
  • Минимум и максимум от полей составного типа
  • Составной тип и RLS
  • Определяемые типы
  • Фильтрация виртуальных таблиц
  • Запрос в цикле. НайтиПо.
  • Запрос в цикле. Обращение к реквизитам
  • Запрос в цикле. Вывод ссылки на экран
  • Запрос в цикле. Коррелированные запросы
  • Запрос в цикле. Намеренное использование
  • Большой объем выборки данных
  • Обращение к полю через несколько точек
  • Получение ссылки от поля ссылочного типа
  • Объединить и Объединить все
  • Запросы с RLS
  • Универсальные запросы
  • Особенности работы с виртуальной таблицей остатков
  • Особенности работы с виртуальной таблицей среза
  • Особенности выполнения пакетных запросов
  • Особенности объектного чтения данных
  • Анализ больших запросов
  • Анализ запросов СКД
  • Методы запроса Выполнить
  • Методы запроса Выбрать
  • Методы запроса Выгрузить
  • Как выполнить запрос «как в первый раз»
  • Хранение временных таблиц
  • Сжатие базы TempDB
  • Кто сейчас выполняет долгий запрос
  • Что не влияет на производительность запроса
  • Рекомендации по написанию запросов
  • Анализ с помощью сервиса. Запросы без контекста
  • Анализ с помощью сервиса. Запросы с контекстом
  • Анализ с помощью ЦУП. Настройка и сбор данных. Анализ
  • Анализ с помощью SQL Profiler
  • Сохранение трассировки в таблицу
  • Шаблоны SQL Profiler
  • Сопоставление плана и текста запроса в SQL Profiler
  • Сохранение трассировки в файл
  • Ошибка Trace skipped records
  • Различные события SQL Profiler
  • Анализ запроса с помощью технологического журнала
  • Анализ неоптимального запроса. Примеры 1 – 5

Глава 7. Ожидания на блокировках

В многопользовательской системе часто возникают излишние ожидания на блокировках, что снижает параллельность работы пользователей.

В данной главе Вы узнаете, что такое блокировки, зачем они нужны и как работают.

Вы научитесь отличать избыточные блокировки от необходимых, узнаете основные причины избыточных блокировок и способы их устранения.

Видеоуроки:

  • Обработка исключений в транзакциях. Примеры 1 – 6
  • Пессимистическая объектная блокировка
  • Оптимистическая объектная блокировка
  • Объектные блокировки и защита данных в СУБД
  • Пример установки X блокировки
  • Пример установки S блокировки
  • Пример установки U блокировки
  • Какие объекты блокируются
  • Read uncommitted
  • Read committed
  • Read committed snapshot
  • Repeatable read
  • Serializable
  • Режимы блокировок в 1С
  • Управляемые блокировки
  • Пример неявной управляемой блокировки
  • Пример явной управляемой блокировки
  • Автоматический режим блокировок
  • Неоптимальная работа запроса. Пример
  • Методические ошибки: Константы
  • Методические ошибки: Последовательность
  • Методические ошибки: Регистр накопления запись задним числом
  • Методические ошибки: Регистр накопления разделение итогов
  • Методические ошибки: Регистр бухгалтерии
  • Механизм разделения итогов. Особенности использования
  • Разделение итогов в автоматическом режиме
  • Старая методика контроля остатков
  • Новая методика контроля остатков
  • БлокироватьДляИзменения и 8.2
  • БлокироватьДляИзменения и 8.3
  • Дополнение по свойству «БлокироватьДляИзменения»
  • Новая методика и партионный учет
  • Режим удаления «Не удалять автоматически»
  • Режим удаления «Удалять автоматически»
  • Режим удаления «Удалять автоматически при отмене проведения»
  • Оптимизация при перепроведении
  • Выгрузка изменений по плану обмена
  • Изменение большого числа данных в транзакции
  • Эскалация блокировок СУБД
  • Событие Lock:Escalation
  • Эскалация блокировок 1С
  • ЦУП. Сбор данных для анализа
  • ЦУП. Анализ блокировок. Примеры 1 и 2.
  • ЦУП. Анализ блокировок. Проверка оптимизации
  • ЦУП. Анализ блокировок СУБД. Воспроизведение
  • ЦУП. Анализ блокировок СУБД. Расследование
  • ЦУП. Анализ блокировок. Пример 3
  • Сервис. Сбор и выгрузка данных
  • Сервис. Анализ управляемых блокировок
  • Сервис. Анализ блокировок СУБД
  • Сервис. Анализ ожиданий. Примеры 1, 2
  • Анализ блокировок с помощью консоли кластера
  • Анализ блокировок с помощью монитора активности
  • Анализ блокировок. Sys.dm_tran_locks
  • Обработка отображения текущих блокировок MS SQL
  • Выводы по выполнению анализа блокировок

Глава 8. Взаимоблокировки

В данной главе мы разберем основные типы взаимных блокировок, как и почему они появляются.

Рассмотрим на примерах, как их можно зафиксировать, проанализировать и устранить.

Видеоуроки:

  • Повышение режима блокировки ресурса.
    Примеры 1 – 3
  • Повышение режима блокировки ресурса. Решение
  • Захват ресурсов в разном порядке. Воспроизведение
  • Захват ресурсов в разном порядке. Решение
  • БлокироватьДляИзменения
  • Взаимоблокировка из-за запроса со сканированием
  • Взаимоблокировка из-за распараллеливания
  • Взаимоблокировка из-за эскалации
  • Распределенная взаимоблокировка. Схема
  • Распределенная взаимоблокировка. Пример
  • Сервис анализа взаимоблокировок. Установка и настройка
  • Сервис анализа взаимоблокировок. Воспроизведение и выгрузка
  • Повышение режима блокировки ресурса. Пример 3
  • ЦУП. Воспроизведение и сбор данных о взаимоблокировках
  • ЦУП. Анализ взаимоблокировок
  • Анализ взаимоблокировок на блокировках 1С
  • Сервис. Ошибки при анализе
  • Пример взаимоблокировки из-за разделителя
  • Пример взаимоблокировки из-за сканирования
  • Пример взаимоблокировки из-за разного порядка захвата ресурсов

Глава 9. Приемы ускорения различных операций

Иногда встречаются операции, которые нельзя ускорить оптимизацией запроса или устранением излишних блокировок.

В данной главе мы рассмотрим несколько таких операций и способы их ускорения, в том числе с помощью распараллеливания.

Видеоуроки:

  • Алгоритм многопоточной обработки данных
  • Анализ результатов обработки в несколько потоков
  • Способы ускорения записи в регистры
  • Ускорение записи в регистры
  • Динамические списки. Опция «Динамическое считывание» включена
  • Динамические списки. Опция «Динамическое считывание» отключена
  • Динамическое считывание данных при неуказанной основной таблице
  • Общие рекомендации по работе с динамическими списками

Глава 10. Нагрузочное тестирование и оборудование

В данной главе мы рассмотрим процесс подготовки и проведения нагрузочного тестирования.

Мы узнаем, как написать тест и провести тестирование с помощью конфигурации Тест–Центр и как можно работать с автоматизированным тестированием.

Также мы рассмотрим вопросы выбора оборудования на основе результатов теста.

Видеоуроки:

  • Методика нагрузочного тестирования
  • Объединение конфигурации с Тест-Центр
  • Пример простого теста. Создание обработки
  • Пример простого теста. Создание сценария
  • Пример простого теста. Запуск сценария
  • Встраивание замеров
  • Отладка виртуальных пользователей
  • Автоматизированное тестирование. Создание сценария вручную
  • Автоматизированное тестирование. Упрощение сценария
  • Запись действий пользователя
  • Создание сценария по записанным действиям
  • Выполнение записанного сценария
  • Сценарий с двумя клиентами тестирования

Глава 11. Кластер серверов

В этой главе мы узнаем о том, как устроен кластер серверов 1С и как его настроить для повышения производительности и стабильности работы системы.

Рассматриваются настройки как для версии 8.3, так и для 8.2.

Видеоуроки:

  • Кластер серверов
  • Версия 8.2. Настройки кластера. Порт
  • Версия 8.2. Настройки кластера. Защищенное соединение
  • Версия 8.2. Настройки кластера. Интервал перезапуска
  • Версия 8.2. Настройки кластера. Ограничение по памяти
  • Версия 8.2. Настройки кластера. Выключенные процессы
  • Версия 8.2. Рабочий сервер создание и настройка
  • Версия 8.2. Создание рабочего процесса
  • Версия 8.2. Распределение нагрузки по процессам
  • Версия 8.2. Распределение нагрузки по серверам
  • Версия 8.2. Перенос сервисов
  • Версия 8.2. Отказоустойчивость rphost
  • Версия 8.2. Отказоустойчивость rmngr
  • Версия 8.2. Отказоустойчивость ragent
  • Версия 8.2. Использовать как резервный
  • Версия 8.2. Отказоустойчивость рабочего сервера. Схема
  • Версия 8.2. Отказоустойчивость рабочего сервера. Пример
  • Версия 8.2. Отказоустойчивость центрального сервера. Схема
  • Версия 8.2. Отказоустойчивость рабочего сервера. Пример
  • Версия 8.2. Резервирование кластеров. Схема
  • Версия 8.2. Резервирование кластеров. Пример
  • Версия 8.2. Резервирование кластеров. Особенности
  • Версия 8.2. Рабочий сервер в роли резервного. Схема
  • Версия 8.2. Рабочий сервер в роли резервного. Пример
  • Версия 8.3. Настройки кластера
  • Версия 8.3. Максимальный объем памяти рабочих процессов
  • Версия 8.3. Безопасный расход памяти за один вызов
  • Версия 8.3. Объем памяти, до которого сервер считается производительным
  • Версия 8.3. Регулировка числа рабочих процессов
  • Версия 8.3. Менеджер под каждый сервис
  • Версия 8.3. Центральный сервер
  • Версия 8.3. Требования назначения функциональности
  • Версия 8.3. Обслуживание базы на отдельном сервере
  • Версия 8.3. Фоновые задания на отдельном сервере
  • Версия 8.3. Распределение клиентов по рабочим процессам
  • Версия 8.3. Центральные серверы
  • Версия 8.3. Центральные серверы и отказоустойчивость
  • Версия 8.3. Центральные серверы и отказоустойчивость. Пример
  • Версия 8.3. Уровень отказоустойчивости
  • Версия 8.3. Отказоустойчивость. Ситуация 1
  • Версия 8.3. Отказоустойчивость. Ситуация 1. Пример
  • Версия 8.3. Отказоустойчивость. Ситуация 2
  • Версия 8.3. Отказоустойчивость. Ситуация 2. Пример
  • Версия 8.3. Отказоустойчивость. Ситуация 2. Пример 2
  • Версия 8.3. Отказоустойчивость. Ситуация 3
  • Версия 8.3. Расчет уровня отказоустойчивости
  • Версия 8.3. Влияние отказоустойчивости на производительность
  • Версия 8.3. Связь УО и требований назначения функциональности
  • Версия 8.3. Минусы механизма отказоустойчивости
  • Отличия в механизме лицензирования 8.2 и 8.3
  • Рекомендации по общей архитектуре

Глава 12. Технологический журнал

Технологический журнал является основным источником информации при анализе проблем производительности и стабильности.

В данной главе мы узнаем, как можно тонко настраивать технологический журнал, какие данные он собирает.

Рассмотрим, как можно использовать технологический журнал для решения проблем производительности и какие ошибки чаще всего допускают при использовании технологического журнала.

Видеоуроки:

  • Описание и назначение технологического журнала
  • Включение ТЖ
  • Ошибки при настройке ТЖ
  • Структура логов
  • Свойства событий
  • Фильтрация по событиям
  • Фильтрация по свойствам
  • Условия фильтрации
  • Комбинация фильтров
  • Запись в разные каталоги
  • Получение плана запроса
  • Отличия ТЖ 8.2 и 8.3
  • Обработка настройки ТЖ
  • Влияние на производительность
  • Сбор ТЖ на клиенте
  • Анализ ожиданий на управляемых блокировках
  • Анализ взаимоблокировки на блокировках 1С

Глава 13. Расследование проблем стабильности

Многие специалисты часто сталкиваются не только с проблемами производительности, но и проблемами стабильности работы.

В данной главе мы рассмотрим, как можно расследовать «падения» и «зависания» сервера 1С, а также утечки памяти и другие всевозможные ошибки.

Видеоуроки:

  • Дампы
  • Расследование падений
  • Расследование падений с помощью 1С
  • ЦКТП
  • Расследование зависаний
  • Утечки памяти
  • Выявление утечек памяти
  • Определение базы с утечками памяти
  • Расследование утечек с помощью ТЖ
  • Расследование утечек памяти. Дампы
  • Рабочий процесс занял много памяти. Версия 8.2
  • Проблемы стабильности

Глава 14. Резервное копирование

В данной главе мы узнаем, как сделать собственную стратегию резервного копирования.

Мы рассмотрим различные типы бэкапов, научимся восстанавливать базу на определенный момент времени, узнаем, как автоматизировать процесс создания резервных копий.

Видеоуроки:

  • Резервное копирование
  • Основные настройки резервного копирования
  • Создание полного бэкапа интерактивно
  • Восстановление из полного бэкапа
  • Сжатие бэкапов
  • Создание бэкапа с помощью скрипта
  • Создание разностного бэкапа
  • Восстановление из разностного бэкапа
  • Создание второго разностного бэкапа
  • Создание бэкапа лога
  • Восстановление бэкапа лога
  • Создание цепочки журналов транзакций
  • Бэкап конечного фрагмента
  • Стратегия резервного копирования
  • Автоматизация создания бэкапов

Глава 15. Подготовка к аттестации 1С:Эксперт

В данной главе мы узнаем о том, как проходит экзамен, на что нужно обратить внимание при подготовке и какие источники информации рекомендуется прочитать перед экзаменом.

Также мы рассмотрим примеры задач которые решаются на тренинге 1С:Эксперт.

Видеоуроки:

  • Неоптимальные запросы при проведении
  • Ожидания на блокировках. Сценарий
  • Ожидания на блокировках. Воспроизведение
  • Ожидания на блокировках. Анализ
  • Ожидания на блокировках. Проверка оптимизации
  • Взаимоблокировки. Сценарий
  • Взаимоблокировки. Воспроизведение
  • Взаимоблокировки. Анализ и оптимизация
  • Взаимоблокировки. Проверка оптимизации
  • Дополнительные вопросы и литература для подготовки к экзамену

Глава 16. Полезная информация по оптимизации

В данной главе описаны различные скрипты MS SQL Server, которые в некоторых случаях могут быть очень полезны при расследовании проблем производительности.

Материалы:

Полезные скрипты и динамические представления

Глава 17. Работа с PostgreSQL

В данной главе рассматриваются основы работы и настройки СУБД PostgreSQL.

В частности, разберем средства диагностики и получения планов запросов, способы резервного копирования, а также другие нюансы работы с PostgreSQL.

Видеоуроки:

  • Установка PostgreSQL на Windows
  • Создание базы из 1С
  • Использование pgbadger
  • Как получить план запроса на PostgreSQL
  • Копия через выгрузку в SQL
  • Восстановление из копии через psql
  • Настройка для архивирования
  • Подготовка к созданию базовой копии
  • Создание базовой копии
  • Восстановление из копии

Глава 18. Работа с Linux

В этой главе рассматриваются основы работы с Linux, основные команды и работа с регулярными выражениями.

Кроме того, данная глава включает в себя примеры анализа логов с помощью различных команд.

Видеоуроки:

  • Установка VirtualBox
  • Импорт и настройка конфигурации
  • Команды для работы с файловой системой
  • Команды вывода содержимого файла
  • Команды поиска файлов
  • Групповое выполнение команд
  • Команда w
  • Команды ps
  • Команда pidstat
  • Команда kill
  • Команды top, atop, htop
  • Команда lsof
  • Cpuinfo и loadavg
  • Команды free, meminfo и sar
  • Команды df и du
  • Команда iostat
  • Команды pvs, lvs и smartctl
  • Команда ifconfig
  • Команды dmidecode, hostname и uptime
  • Команды управления службами
  • Использование regex101
  • Команда grep
  • Команда sed
  • Команда awk
  • Группировка по свойству события
  • Скрипт группировки по свойству события
  • Команда запуска скрипта группировки
  • Скрипт подсчета длительности событий
  • Команда запуска скрипта подсчета длительности событий
  • Настройка создания дампов

Несколько примеров из курса

Простой способ увидеть, что и как мы разбираем в этом курсе – и чем от отличается от остальных.

Неоптимальные запросы могут приводить не только к медленной работе отчетов, но и к ожиданиям на блокировках и даже к взаимным блокировкам.

В данном уроке мы рассмотрим схему возникновения такой взаимной блокировки, а также разберем пример ее воспроизведения и устранения.

Очень часто разработчики не обращают внимание на сортировку в запросе, хотя это может сильно снизить скорость его выполнения.

В данном уроке мы рассмотрим один из примеров, когда сортировка может замедлять скорость работы запроса и приводить к сканированию таблицы, а также разберем способы решения данной проблемы.

Создание резервных копий является одной из важнейших задач для любого специалиста, сопровождающего СУБД.

В данном уроке мы на примере MS SQL Server рассмотрим, как можно создать полную резервную копию базы данных и какие настройки при этом рекомендуется указывать.

В многопользовательских системах проблема ожиданий на блокировках часто выходит на первое место.

В данном уроке мы рассмотрим, как режим удаления движений может накладывать излишние ожидания на блокировках и каким образом эти ожидания можно устранить.

В версии 8.3 было добавлено несколько новых настроек для рабочего сервера.

В данном уроке мы узнаем, для чего нужна настройка «Максимальный объем памяти рабочих процессов», что произойдет, если указанное значение будет превышено, и какое значение рекомендуется установить для этого параметра.

Чтение плана выполнения запроса – это обязательный навык для каждого, кто занимается оптимизацией.

В данном уроке мы на примерах разберем, как читать текстовый план, рассмотрим, в каком порядке выполняются операторы. Также мы рассмотрим нюансы и основные отличительные особенности между текстовым и графическим планом.

Два примера практических заданий

Практическое задание – пример № 1
Необходимо настроить технологический журнал таким образом, чтобы он собирал только запросы длиннее 3 секунд, в которых выполняется полное сканирование таблицы или индекса.

Если в плане есть оператор Constant Scan, но нет сканирования таблицы или индекса, то такой план не должен попадать в логи.

Нужно собирать запросы только для вашей базы. Используется СУБД MS SQL Server.

В качестве ответа пришлите скриншот содержимого файла logcfg.xml.

Практическое задание – пример № 2
Проанализируйте текст запроса и напишите наиболее вероятную причину его замедления.

Контекст:
ОбщийМодуль.СчетчикиПроизводительности.Модуль : 451 : НаборЛога.Записать(Ложь);

Время выполнения: 3 сек

Текст запроса SQL:
INSERT INTO #tt2 (_Period, _Fld60RRef, _Fld61, _Fld62) SELECT
T1._Period,
T1._Fld60RRef,
T1._Fld61,
T1._Fld62
FROM _InfoRg59 T1
WHERE 1=0

Отзывы участников

«Как результат имеем к окончанию курса систему, в которой повышена стабильность работы и скорость на высоте…»

«После прохождения курса скажу точно, что этот курс надо пройти каждому кто занимается профессиональной разработкой на платформе 1С.»

«После прохождения курса все коллеги стали обращаться за помощью в оптимизации…»

«Хочу сказать, что это единственный курс, который я пересмотрел 3 раза от начала до конца.
Он действительно стоящий того, чтобы его пересматривать несколько раз

«Благодаря курсу решены некоторые проблемы производительности на практике…
В общем однозначный must have для любого специалиста

«Очень интересный курс, содержащий огромное количество полезного в работе материала.
Это помогло сразу решить несколько проблем с производительностью, висевших несколько лет. »

«В некоторых моментах удалось достичь ускорения работы 1С в 10-ки раз

Автор курса

Автор и тренер курса – Андрей Бурмистров.

  • В сфере разработки на платформе «1С:Предприятие 8» более 10 лет
  • Работал в компании 1С в 2011-2012 гг. на должности эксперта по технологическим вопросам на проекте ЦКТП (http://v8.1c.ru/expert/cts/cts.htm)
  • Участвовал в качестве эксперта в проектах по повышению быстродействия и стабильности компаний Enter, Комацу, Иркутскэнерго и многих других
  • Работал над оптимизацией и стабильностью 1cfresh.com
  • Корпоративное обучение по повышению производительности и стабильности 1С, в частности, для компаний Связной, DHL, Иркутская нефтяная компания, QIWI
  • Разработал авторский инструмент для выявления и анализа проблем производительности в системах 1С
  • Неоднократный докладчик конференций Инфостарт
  • Лауреат премии Infostart Awards 2021 за вклад в области «Администрирование СУБД. HighLoad оптимизация»

Андрей Бурмистров - тренер курса по оптимизации и ускорению 1С

Расширение курса

Актуализирован материал

Курс записан на версии 8.3 с использованием MS SQL Server 2014 и последних версий инструментов производительности, с подробным описанием новых настроек и возможностей.

При этом работа с 8.2 в курсе также описана.

Два новых раздела: “Тестирование” и “Резервное копирование”

В разделе “Тестирование” рассмотрено как тестирование с помощью конфигурации Тест-Центр, так и автоматизированное тестирование. Плюс, рассмотрены вопросы по оборудованию для тестирования.

В разделе “Резервное копирование” с нуля рассматриваются вопросы создания бэкапов на примере MS SQL Server. Здесь также дается информация о моделях восстановления, особенностях их работы и их взаимосвязи с резервным копированием.

Изменился формат материалов


Добавлено объемное методическое пособие с подробным описанием теории.

357 страниц А4 в формате PDF

Пособие позволит изучать теоретическую часть курса с любого устройства в любое удобное время.

С помощью него можно быстро найти информацию по любой из тем, освещенных в курсе, а также использовать его как справочный материал при возникновении проблем производительности.

Курс стал намного более детальным

Добавлено больше подробностей и технических деталей по всем темам, что будет очень полезно для подготовки к экзамену на 1С:Эксперт и тестированию на 1С:Профессионал по технологическим вопросам.

  • Добавлены уроки по обработке исключительных ситуаций в транзакции
  • Добавлена информация по блокировкам намерения
  • Добавлена таблица параллельности работы при использовании PostgreeSQL
  • Добавлен пример разбора взаимной блокировки с помощью технологического журнала
  • Добавлена информация о параллельности работы объектов метаданных в разных режимах с разными настройками.
  • Добавлена информация о новом типе взаимных блокировок
  • Добавлено подробное описание устройства кластера серверов 1С, включая описание основных служебных файлов
  • Обновлено решение задач для подготовки к 1С:Эксперт
  • Добавлена уникальная обработка, позволяющая посмотреть, какие именно записи в терминах метаданных сейчас заблокированы
  • Добавлен целый раздел по резервному копированию
  • Добавлена информация по механизму хранения и получения итогов
  • Добавлена информация о времени жизни блокировок в разных уровнях изоляции транзакции
  • Добавлена информация по проведению нагрузочного тестирования и выбору соответствующего оборудования
  • Добавлена информация по использованию механизма автоматизированного тестирования
  • Добавлена информация о влиянии сортировки на производительность запросов
  • Добавлена информация по работе динамических списков
  • Добавлена информация по рекомендуемым приемам программирования
  • Добавлены полезные скрипты и динамические представления

Добавлены новые практические задания

Многие добавленные задания основаны на реальных ситуациях из проектов по оптимизации.

Также добавлено обновленное финальное задание, которое стало еще более сложным и интересным.

Поддержка в Мастер-группе

Поддержка осуществляется на страницах занятий курса. Вы можете задать любой вопрос по материалам курса.

Также Вы получаете доступ к сотням вопросов и ответам на них от других участников курса.

Длительность поддержки: до 4 месяцев (зависит от выбранной версии курса).

Активировать доступ в Мастер-группу можно в любое удобное время в течение 100 дней с момента покупки.

Требования к участникам

Для успешного прохождения курса у Вас должен быть хотя бы небольшой опыт разработки на 1С.

Курс ориентирован на работу в клиент-серверном режиме, поэтому необходимо обладать основными знаниями о клиент-серверной архитектуре, принципах работы реляционных СУБД и иметь опыт написания клиент-серверного кода.

Программы, необходимые для прохождения курса

  • Клиент-серверный вариант 1С:Предприятие 8.3
  • MS SQL Server, желательно версии 2012 или выше
  • SQL Profiler (входит в состав MS SQL Server, но не входит в состав SQL Server Express).

Версии курса и стоимости

У данного курса есть ТРИ версии: LITE, PROF, ULTIMATE.

Они различаются назначением, содержанием, стоимостью и сроками поддержки в Мастер-группе.

Мы рекомендуем версию PROF

Через какое-то время Вы будете не только знать 1С на продвинутом уровне, но и сможете пройти аттестацию на 1С:Эксперт.

А это РЕЗКО повышает Вашу “рыночную стоимость”.

Для покупателей курса Диагностика проблем производительности

Стоимость курса “Диагностика проблем производительности 1С: что конкретно тормозит систему” будет засчитываться при покупке курса “Ускорение и оптимизация систем на 1С:Предприятие 8.3”.

Вы просто оформляете заказ на подходящую версию курса по Оптимизации, при этом в заказе указываете код скидки, который был отправлен Вам после покупки курса “Диагностика проблем производительности”.

Например, с учетом скидки, версия LITE будет стоить 11 300 9 800 рублей.

Гарантия

Мы ведем обучение с 2008 года, уверены в качестве наших курсов и даем на этот курс нашу стандартную 60-дневную гарантию.

Это значит, что если Вы начали заниматься по нашему курсу, но вдруг передумали (или, скажем, не имеете возможности), то у Вас есть 60-дневный срок для принятия решения – и если Вы производите возврат, мы возвращаем 100% оплаты.

Текущий уровень возвратов наших курсов: менее 1 процента…

Рассрочка платежа

Наши курсы можно оплатить по частям или в рассрочку, в том числе без процентов. При этом доступ к материалам Вы получаете сразу.

Это возможно при оплате от физических лиц на сумму от 3 000 руб. до 150 000 руб.

Все, что Вам нужно сделать – это выбрать способ оплаты “Оплата через ЮKassa”. Далее на сайте платежной системы выбираете “Заплатить по частям”, указываете срок и размер выплат, заполняете небольшую анкету – и через пару минут получаете решение.

Варианты оплаты

Мы принимаем все основные формы платежей.

От физических лиц – оплаты с карт, оплаты электронными деньгами (WebMoney, ЮMoney), оплаты через интернет-банкинг, оплаты через салоны связи и так далее. Возможна также оплата заказа по частям (в рассрочку), в том числе без дополнительных процентов.

Начните оформлять заказ – и на втором шаге Вы сможете выбрать предпочтительный способ оплаты.

От организаций и ИП – безналичная оплата, предоставляются документы на поставку. Вы вводите заказ – и сразу можете распечатать счет на оплату.

Обучение нескольких сотрудников

Наши курсы предназначены для индивидуального обучения. Групповое обучение по одному комплекту является незаконным распространением.

Если компании требуется обучить нескольких сотрудников, мы обычно предлагаем “дополнительные комплекты”, которые стоят на 40% дешевле.

Для оформления заказа на “дополнительный комплект” выберите в форме 2 и более комплектов курса, начиная с второго комплекта стоимость курса будет на 40% дешевле.

Есть три условия использования дополнительных комплектов:

  • нельзя приобрести только дополнительный комплект, если до этого (или вместе с ним) не был приобретен хотя бы один обычный
  • на дополнительные комплекты не действуют еще какие-то скидки (они и так дисконтированны, получилась бы “скидка на скидку”)
  • на дополнительные комплекты не действуют акции (например, компенсация в 7000 рублей) по той же причине

Предварительная регистрация на новый поток курса

Коллеги, мы приняли решение вернуться к модели, которую использовали с 2010 года – проведение курсов в потоках.

В настоящее время мы доучиваем текущих клиентов по курсу. Прием новых участников приостановлен.

Рекомендуем пройти предварительную регистрацию на новый поток курса:

  • Вы получите приглашение – и не пропустите его
  • Своевременная предварительная регистрация может дать специальные условия участия :)
  • Предварительная регистрация Вас ни к чему не обязывает
  • *Оформляя предварительную регистрацию Вы даете согласие на обработку персональных данных и соглашаетесь с Пользовательским соглашением
  • Это поле используется для проверочных целей, его следует оставить без изменений.

Комментарии / обсуждение (184):

  1. Денис Глазырин

    Добрый день.
    В связи с выходом нового курса по ускорению и оптимизации – будет ли запущен поток по старому курсу с подготовкой на Эксперта?

  2. Дмитрий

    Здравствуйте.
    1. Если на предприятии установлена PostgreSQL – смогу ли я освоить полностью программу курса?
    2. К 2022 году выйдет курс? На предприятии сейчас составляются планы на обучение сотрудников на след. год. Нужно знать хотя бы примерно.

    • Кузьмин Сергей

      Добрый день, Дмитрий!
      1. В состав курса входят разделы по Linux и по Postgresql, но бОльшая часть материала – по MS SQL Server (есть бесплатные версии для учебных целей, например, express).
      2. Точные сроки назвать пока что не сможем. Но в следующем году этот курс должен появиться в линейке доступных курсов.

      • Дмитрий

        Спасибо, Сергей!
        Раз должен, значит появится;). Зарегистрировался на новый поток. Ждем).

  3. Tverd

    Здравствуйте! Подскажите, пожлауйста, не появилась ли информация о приблизительных сроках набора на новый поток?
    Спасибо!

    • Кузьмин Сергей

      Пока что информации еще нет.
      Рекомендуем следить за новостями на нашем сайте – мы обязательно сообщим о готовности курса.

  4. Радик

    Добрый день!
    У меня есть приобретенная версия LITE, смогу ли я приобрести PROF с оплатой разницы в стоимости курсов? И когда ждать запуск курса?

    • Алексей Катеринич

      Добрый день.
      На данный момент приобрести курс нельзя.
      Когда выйдет курс информации пока нет.

  5. Яков

    Здравствуйте, Выдается ли при прохождении курса удостоверение или сертификат?

    • Кузьмин Сергей

      Да, после прохождения данного курса предусмотрено получение сертификата о прохождении, при условии выполнения всех практических заданий.
      Но сейчас запись на курс остановлена и пока что можно только пройти предварительную регистрацию.

        • Кузьмин Сергей

          Когда появится информация о запуске курса, мы обязательно сообщим об этом.

  6. Сергей

    Можно скачать материалы курса до начала потока? После оплаты или т.к. я проходил подобный курс 2016 года.

    • Алексей Катеринич

      Добрый день.
      Скачать материалы нельзя:
      1. Потому что их ещё нет.
      2. Для доступа к материалам необходимо будет приобрести новый курс.

  7. Вадим Смолькин

    Добрый день.
    В версии ULTIMATE есть 10 консультаций автора.
    Подскажите, пожалуйста, в каком формате могут проводиться консультации?
    Если я, например буду расследовать проблему с производительностью в программе 1С, то в этом случае консультации будут проводиться в виде выдачи рекомендаций по описанию проблемы производительности или автор может удаленно подключиться к серверу, чтобы можно было продемонстрировать конкретную проблему производительности, и автор бы мог помочь в нахождении первопричины возникновения проблемы?

    • Кузьмин Сергей

      Консультации в версии Ultimate проводятся в том формате, который удобен Вам.
      Если требуется, чтобы автор подключился и помог разобраться, он подключится.

      Но запись на этот курс сейчас остановлена, поэтому пока что записаться на курс не получится. Можно пройти предварительную регистрацию и дождаться анонса.

  8. Антон Шмаков

    Добрый день!
    Какими знаниями необходимо обладать для прохождения данного курса?
    Есть опыт работы с 1С около 3-х лет – этого достаточно или нужно хотя бы от 6 лет опыта?

    • Кузьмин Сергей

      Это курс не для новичков (как и все курсы по оптимизации).
      Как минимум Вы должны:
      — Иметь опыт разработки на платформе 1С:Предприятие 8 (пусть небольшой)
      — Иметь навык написания запросов.

      Обращу только внимание, что сейчас запись на курс остановлена и пока что можно пройти предварительную регистрацию и дождаться анонса.

  9. yabrus

    Здравствуйте. Ранее уже приобретал у вас версию lite. Сейчас хочу изучить материал prof. Скажите, могу ли я ее докупить и изучать самостоятельно, либо нужно ждать набора на следующий поток?

  10. Galina86

    Здравствуйте!
    Скажите, пожалуйста, если у меня есть приостановленный токен по данному курсу, он уже не актуален?
    Нужно будет покупать новый курс с новыми материалами?

    • Кузьмин Сергей

      Если Вы приостанавливали действие токена, то Вы можете возобновить его сейчас и продолжить обучение. Ждать запуска потока не нужно.

  11. Татьяна

    А не подскажете, что такое поддержка 2, 3, 4 месяца (это в вариантах курсов прописано)? То есть можно в течение этого времени задавать письменно вопросы преподавателю?
    А вообще каков формат курсов: в режиме реального времени преподаватель объясняет, затем ученики тут же выполняют лабораторные? или просто выдается набор видео и заданий, которые нужно будет просмотреть дома и решить, и только в течение этого времени (2-4 месяца) можно присылать ответы на задания?

    • Кузьмин Сергей

      Материалы курса – это видеоуроки + методические пособия для самостоятельного изучения в удобное Вам время, без вебинаров и жесткого графика. Доступ к этим материалам открывается навсегда.
      Также в рамках курса предусмотрена поддержка тренером в течение 2,3 или 4 месяцев, в зависимости от выбранной версии. В течение этого времени Вы можете задавать вопросы тренеру (на страницах с занятиями публиковать комментарии с вопросами тренеру) и отчитываться по практическим заданиям.

    • Кузьмин Сергей

      Расписание потоков еще не сформировано.
      Новую информацию о курсах будем публиковать на сайте.

      • Татьяна

        И примерно не знаете? Хотя бы будет в апреле или еще нет? :) На сайте – это на главной странице, прокрутить чуть ниже? или в меню Новости, статьи?

        • Кузьмин Сергей

          На данный момент расписание потоков курса не сформировано, поэтому не сможем подсказать сроки начала обучения, даже примерно.
          Самый лучший вариант – пройти предварительную регистрацию на текущей странице и дождаться анонса. Мы будем высылать информацию о курсе. Также информация о курсе будет публиковаться на текущей странице и в разделе “Новости” на сайте.

  12. KyzDani

    Добрый день. Записался на курс. Можете сказать самые примерные сроки начала обучения для новой группы ?

    • Алексей Катеринич

      Добрый день.
      Это курс не для новичков (как и все курсы по оптимизации).
      Как минимум нужно:
      — Иметь опыт разработки на платформе 1С:Предприятие 8 (пусть небольшой)
      — Иметь навык написания запросов.

      Для обучения потребуются:
      – Клиент-серверная версия 1С 8.x
      – MS SQL Server + SQL Profiler
      – Если вы хотите подготовиться к сдаче экзамена 1С Эксперт, то вам необходим 1С:ЦУП и Тест-Центр.

      Прием новых участников на данный курс приостановлен до открытия нового потока. Анонс будет опубликован в новостях сайта, по срокам пока ориентировать не готовы.

      Рекомендуем пройти предварительную регистрацию на новый поток.

      • Serega

        — Иметь опыт разработки на платформе 1С:Предприятие 8 (пусть небольшой)
        Опыт только прикручивание нового функционала к кнопке или действующего с другой базы.
        — Иметь навык написания запросов.
        Консолью запросов часто пользуюсь, для отчетов.

        как бы все) хочу стать 1С Экспертом.

        • Кузьмин Сергей

          Сейчас запись на курс остановлена до старта набора на новый поток.
          Рекомендуем пройти предварительную регистрацию.

  13. Константин

    Добрый день. Можно оплатить курс и получить доступ ко всем материалам курса, не дожидаясь старта нового потока обучения?

    • Кузьмин Сергей

      Нет, записаться на курс без потока сейчас нельзя. Нужно дождаться анонса.

      • Константин

        Ответьте пожалуйста:
        1. Сколько нужно человек, чтобы собралась группа и началось обучение по этому курсу?
        2. Если такой вариант, мы найдем заинтересованных коллег и соберем группу, мы сможем начать обучение в ближайшие недели или все равно ждать анонса?

        • Кузьмин Сергей

          Константин, дело не в количестве слушателей для набора группы. Сейчас набор участников пока не ведется, можно только пройти предварительную регистрацию.
          Курс требует доработки, поэтому запись на него пока что приостановлена, а расписание новых потоков пока что не сформировано.

  14. Сергей

    Добрый день!
    Подскажите, пожалуйста, какова статистика по прошлым потокам? как часто начинается новый поток? сколько длится? какие прогнозы? Т.е. новый поток начнётся в ближайший месяц? квартал? год? когда наберётся достаточное количество заявок? неизвестно и в неопределённые сроки, а может никогда?
    И интервал между потоками – регулярный? или всегда по разному?

    Заранее благодарю!

    • Кузьмин Сергей

      На данный момент расписание потоков не сформировано, поэтому сообщить Вам конкретные сроки запуска набора на новый поток не сможем.
      Говорить пока что о прогнозах и предполагаемых датах, к сожалению, тоже не имеет смысла.

      Сейчас можем только рекомендовать пройти предварительную регистрацию и ждать анонса.

  15. Дмитрий

    Доброго дня!
    В рамках данного курса рассматривается весь спектр задач, которые возможны в рамках экзамена 1С:Эксперт (за исключение вопросов экзаменатора – там понятно дело вариантов множество))) )? т.е. в рамках данного курса возможно полностью подготовиться и сдать экзамен (не используя другую литературу?

    • Кузьмин Сергей

      Да, курс подходит для полной подготовки к экзамену без дополнительной литературы.
      Но обращу Ваше внимание, что запись на курс приостановлена и записаться на него сейчас нельзя. Нужно ждать набора на следующий поток.
      Рекомендуем пройти предварительную регистрацию на текущей странице.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *